package com.augurit.common.system.service.auth;

import com.augurit.common.base.form.ResultForm;
import com.augurit.common.system.entity.LoginConfine;
import com.augurit.common.system.web.auth.form.LoginUserForm;


/**
 * 登录用户接口
 */
public interface ILoginUserService {
	
	/**
	 * 根据用户登录名获取登录用户的相关信息
	 * @param loginName 用户登录名
	 * @return
	 */
	public LoginUserForm getLoginUserInfo(String loginName);
	
	/**
	 * 根据登录用户的用户名和密码获取用户对象，带用户名和密码校验功能
	 * @param loginName 用户登录名
	 * @param password 用户密码
	 * @return 如用户名和密码正确则返回用户对象，否则返回NULL
	 */
	public ResultForm<LoginUserForm> getLoginUserInfo(String loginName, String password);
	
	/**
	 * 检验登录用户的用户名和密码是否正确
	 * @param loginName 用户登录名
	 * @param password 用户密码
	 * @return
	 */
	public boolean isLoginValid(String loginName, String password);

	/**
	 * 错误登录信息
	 * @param username
	 * @return
	 */
	public LoginConfine getErrorInfo(String username);

	public void updateErrorNum(LoginConfine confine);

	public void saveErrorInfo(LoginConfine config);

	public void saveErrorInfo(String loginName,boolean flag);
}
